-
Notifications
You must be signed in to change notification settings - Fork 8.3k
modules: hal_nordic: nrfs: Optimize communication #81455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
4600378 to
ebd6ca9
Compare
|
@hubertmis @anangl take a look? Without this nrfs cannot be called from workq context (and this context is used by runtime PM). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't && nrfs_backend_connected() be added here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added
|
This change seems to be changing the properties of the |
ebd6ca9 to
a4c8860
Compare
nika-nordic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lack of this PR functionally breaks all drivers that utilize pm_device_runtime_put_async from ISR context (for example SPIM)
It is not needed to use always the system work queue to send a message over IPC. In thread context IPC service can be called directly. It speeds up the communication and allows to use nrfs from the system work queue. Legacy approach could easily lead to the deadlock if user would call nrfs from work queue and pend on semaphore until response is received. Signed-off-by: Krzysztof Chruściński <[email protected]>
a4c8860 to
8ad171f
Compare
It is not needed to use always the system work queue to send a message over IPC. In thread context IPC service can be called directly. It speeds up the communication and allows to use nrfs from the system work queue. Legacy approach could easily lead to the deadlock if user would call nrfs from work queue and pend on semaphore until response is received.